home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / share / nikto / plugins / nikto_msgs.plugin < prev    next >
Text File  |  2005-10-19  |  1KB  |  48 lines

  1. #VERSION,1.04
  2. #LASTMOD,03.26.2003  
  3. # (c) 2001-2005 cirt.net, All Rights Reserved
  4.  
  5. # versions are loaded from the "server_msgs.db" file, which should be in the plugins directory
  6.  
  7. # this plugin checks the server version to see if there are any version specific items in the4 server_msgs.db
  8. # this differs from nikto_outdated because that is ONLY checking to see if it is an old version, whereas this
  9. # checks to see if the versions match
  10.  
  11. # This software is distributed under the terms of the GPL, which should have been received
  12. # with a copy of this software in the "LICENSE.txt" file.
  13.  
  14. sub nikto_msgs
  15. {
  16.  my %VERSIONS;
  17.  %VERSIONS=load_versions("$NIKTO{plugindir}/server_msgs.db");
  18.  
  19.  foreach my $VER (keys %VERSIONS)
  20.   {
  21.    if ($TARGETS{$CURRENT_HOST_ID}{ports}{$CURRENT_PORT}{banner} =~ /($VER)/i)  { nprint("+ $1 - $VERSIONS{$VER}");  } 
  22.   }
  23.  
  24.  return;
  25. }
  26.  
  27. sub load_versions
  28. {
  29.  my %VERS;
  30.  my $VFILE=$_[0]; 
  31.  open(IN,"<$VFILE") || die nprint("Can't open $VFILE:$!");
  32.  my @file=<IN>;
  33.  close(IN);
  34.  foreach my $line (@file)
  35.  {
  36.   if ($line =~ /^\#/) { next; } # comment
  37.   if ($line =~ /\#/) { $line=~s/\#.*$//; $line=~s/\s+$//; }
  38.   if ($line eq "") { next; }
  39.   my @t=parse_csv($line);
  40.   $VERS{$t[0]}=$t[1];
  41.   nprint("Loaded:$t[0] -- $t[1]","d");
  42.  }
  43. return %VERS;
  44.  
  45. }
  46.  
  47. 1;
  48.